const jwt = require('jsonwebtoken')
const { SECRET } = require('../configs/index')

// 检测 token 存在的中间件
module.exports = (req, res, next) => {
  // 获取 token
  const token = req.get('token')

  // 验证 token
  if (!token) {
    return res.json({
      code: '2005',
      msg: 'token 不存在',
      data: null
    })
  }

  jwt.verify(token, SECRET, (err, data) => {
    req.user = data
    if (err) {
      return res.json({
        code: '2006',
        msg: 'token 失效',
        data: null
      })
    } else {
      next()
    }
  })
}